/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.ufc.quixada.adrs.comandos.adrs;

import br.ufc.quixada.adrs.interfaces.Comando;
import br.ufc.quixada.adrs.model.Produtor;
import br.ufc.quixada.adrs.service.ProdutorService;
import br.ufc.quixada.adrs.util.Msg;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

/**
 *
 * @author Franklin
 */
public class CmdExcluirProdutor implements Comando {

    public String executa(HttpServletRequest request, HttpServletResponse response) {
        ProdutorService produtorService = new ProdutorService();
        HttpSession session = request.getSession(true);

        Long id = Long.parseLong(request.getParameter("id_produtor"));
        Produtor produtor = produtorService.getProdutorById(id);
        String justificativa = request.getParameter("justificativa");

        if(justificativa == null || justificativa.trim().isEmpty()){
            session.setAttribute("erro", Msg.REQUIRED_JUSTIFICATIVA_FIELD );
            session.setAttribute("produtor", produtor);
            return "/adrs/adrs_justificar_exclusao_produtor.jsp";
        }

        produtor.setJustificativaExclusao(request.getParameter("justificativa"));

        if (produtorService.deleteProdutor(produtor)) {
            session.setAttribute("sucesso", Msg.SUCCESSFULLY_DELETED);
        } else {
            session.setAttribute("erro", Msg.OPERATIONAL_ERROR_DELETING_PRODUTOR);
        }

        return "/ServletCentral?comando=CmdListarProdutores";
    }
}
